package org.itstack.demo.design;

/**
 * 双重锁校验 线程安全
 * 减少了部分获取实例的耗时，同时也满足了懒加载
 */
public class Singleton_05 {
    private static volatile Singleton_05 instance;

    private Singleton_05() {

    }

    public static Singleton_05 getInstance() {
        if (null != instance) {
            return instance;
        }
        synchronized (Singleton_05.class) {
            if (instance == null) {
                instance = new Singleton_05();
            }
        }
        return instance;
    }

}
